import java.util.ArrayList;
import java.util.HashMap;

//定义给定文本，进行词频统计的线程类
public class WordCountThread extends Thread{
	private String words; //定义指向要统计的原始文本
	private ArrayList result; //定义指向存放中间结果的集合
	
	public WordCountThread(String words, ArrayList result) {
		this.words = words;
		this.result = result;
	}
    
    public void run() {
		//定义存放词频统计的HashMap
		HashMap<String, Integer> map = new HashMap<String, Integer>();
		//遍历要统计的文本中的每个字符
		for(int i = 0; i < words.length(); i++) {
			String s = words.substring(i, i+1); //获得第i个位置上的字符
			if(s == "")continue; //过滤空格
			if(map.containsKey(s)) {
				map.put(s, map.get(s)+1);
			}else
				map.put(s, 1);
		}//end if
		//将统计的结果加入到中间结果result中
		synchronized(result) {  //！！！多个线程同时操作必须保证不产生冲突
			result.add(map);
		}
	}//end if		

}
